// 博文 C++输入文件流遇空白符结束
#include <iostream>
#include <fstream>
#include <string.h>
int main(void)
{
  std::fstream fs;
  fs.open("E:\\CodeField\\Code_Cpp\\C_Single\\csdn\\20211010\\src\\afile.dat", std::ios::trunc | std::ios::out);

  char str[100];

  std::cout << "enter sentence 1 : ";
  std::cin >> str;
  fs << str;

  std::cout << "enter sentence 2 : ";
  std::cin >> str;

  fs << str << '\t';

  std::cout << "enter sentence 3 : ";
  std::cin >> str;
  fs << str;

  fs.close();

  // 读取文件a,并复制到b
  std::ifstream ifs;
  ifs.open("E:\\CodeField\\Code_Cpp\\C_Single\\csdn\\20211010\\src\\afile.dat");

  std::ofstream ofs;
  ofs.open("E:\\CodeField\\Code_Cpp\\C_Single\\csdn\\20211010\\src\\bfile.dat", std::ios::trunc);

  int i = 0;
  ifs.unsetf(std::ios::skipws); // 取消默认的忽视空白字符
  while (ifs >> str)
  {
    ifs.get();// 从ifs文件输入流中读取一个字符

    std::cout << "chunk" << ++i << " : " << str << std::endl;
    ofs << str;
  }

  ifs.close();
  ofs.close();

  printf("--------------end--------------\n");
  return 0;
}
